package bbalgae;

public class J16_OOP2 {

	/*
	 * Method 클래스 객체가 할 수 있는 행위를 정의 Method에는 선언부와 몸체가 있음
	 * 
	 * 접근제한자 반환유형 method 이름(인수 목록){ Method 몸체 } Method 선언부는 반환유형, method이름, 인수목록
	 * method 선언부를 method 서명이라고도 함 public static void main(String[] args) void =
	 * 반환유형 main = 메소드이름 (String args) = 인수
	 * 
	 * 특별한 메소드인 main은 프로그램의 진입점을 제공하고 일반적으로 프로그램은 수 많은 클래스로 구성된다. 그중에서 주가 되는
	 * 메소드가 하나 있어야 하는데 그것이 바로 main 메소드이다.
	 */
	public static void main(String[] args) {

		Student2 mj = new Student2();
		
		mj.eng=90;
		mj.kor=90;
		mj.mat=90;
		mj.showResult();
	
	
	}

}

class Student5 {
	// 필드선언 (멤버변수)
	String name;
	int stdno;
	int kor;
	int eng;
	int mat;

	// 메소드 행위
/*	void ctot() {
		System.out.println(kor + eng + mat);
	}

	void cavg() {
		System.out.println((kor + eng + mat) / 3);
	}

	void cgrade() {
		float avg = (float) (kor + eng + mat) / 3;
		switch ((int) avg / 10) {
		case 10:
		case 9:
			System.out.println("수");
			break;
		case 8:
			System.out.println("우");
			break;
		case 7:
			System.out.println("미");
			break;
		case 6:
			System.out.println("양");
			break;
		default:
			System.out.println("가");
			break;
		}
	*/
	
	// 총점구하기
	int ctot(){
	return	kor+eng+mat;
	}
	
	float cavg(){
	return (float)this.ctot()/3;
	}
	
	void grade(){
	 switch((int)this.cavg()/10){
		case 10: case 9: System.out.println("수");break;
		case 8: System.out.println("우");
		case 7: System.out.println("미");
		case 6: System.out.println("양");
		default :System.out.println("가");break;
		
		}
	}
//모든 결과 출력
	void showResult(){
		System.out.println(this.ctot());
		System.out.println(this.cavg());
		this.grade();
	}

}



